CS 450 Numerical Analysis
course description | time | location |
---|---|---|
Course catalog entry | 3:30-4:45pm MW | Digital Computer Laboratory |
Course staff
Instructor
name | office hours | office | |
---|---|---|---|
Prof. Paul Fischer | fischerp@illinois.edu | Thursday 9:30 - 11:00 | 4320 Siebel Center |
Teaching assistants
name | office hours | location | |
---|---|---|---|
Josh Bevan | jjbevan2@illinois.edu | Monday 12:00 - 2:00 | SC 0207 |
Nick Christensen | njchris2@illinois.edu | Wednesday 1:00 - 3:00 | SC 3405 |
Setare Hajarolasvadi | hajarol2@illinois.edu | Monday 9:00 - 11:00 | SC 0207 |
Thilina Rathnayake | rbr2@illinois.edu | Tuesday 1:00 - 3:00 | SC 0207 |
Textbook
Scientific Computing: An Introductory Survey by Michael T. Heath, McGraw-Hill, 2nd edition, 2002
Discussion forum
https://piazza.com/class/j6pg98w1l4h5cz
Video recordings of lectures
Recorded lectures will be posted on the Echo360 Site. To access Echo360, follow these instructions. Once you access the Echo 360 site, you should see CS450 listed in your dashboard. The recorded lectures can be found under this listing.
Exams, quizzes, and homework
Exams: two midterms and a final exam, both of which will be offered in the Computer-Based Testing Facility (located in room 57 Grainger Library).
- Midterm Exam 1: Available 4 October to 8 October (1 hr 50 min)
- Midterm Exam 2: Available 11 November to 14 November (1 hr 50 min)
- Final Exam: Available 14 December to 20 December (3 hours)
Quizzes: due before most classes, to be taken online on this website.
Homework: assignments due every two weeks (see detailed schedule below). Homework will involve both written exercises and computer problems. The latter must be done in Python.
Projects: students taking the course for 4 credit hours must complete a term project. See detailed schedule below for various due dates. More project details can be found at the bottom of this page.
More detailed policies on exams, quizzes, and homework are given below.
Course Policies
Homework Policies:
- Homeworks have one graded attempt. Once your assignment is submitted, you cannot change your solutions. Homework submissions will not be reopened.
- As soon as you start the homework, you should make sure that the desired option for "At deadline" is selected. If "Submit session for grading" is selected, your assignment will be automatically submitted at the deadline. If you wish to work on the assignment after the deadline and submit late, you must select "Do not submit session for grading". Otherwise, your assignment will automatically be submitted at the deadline and your session will not be reopened.
- Late Policy: Homework submitted after its deadline will receive half-credit (i.e., your work will be graded and multiplied by 0.5). You can submit homework for half-credit for up to one week. You must "submit your assignment" (the green check box in the upper right) and "confirm" before the deadline or have the "At deadline" option set to "Submit session for grading"; if you start a homework before the deadline, but finish after the deadline, then you will receive half-credit. No credit will be awarded for homework more than one week late.
- Solutions to the homework are viewable (and reviewable) after the due date. If you are submitting homework for the half-credit due date, you can look at the solutions, but you cannot directly copy the sample solution. What you submit must still be written by you, not just copied.
- A homework is considered either all late or all on-time. If any portion of the homework is submitted after the deadline then the entire homework will be graded as late.
- The work you submit in your homework must be your own. Collaboration among students is not permitted. General discussion among students is acceptable, but detailed sharing of code or solutions is prohibited.
- For any homework problems requiring file submissions, the uploaded file must be in PDF format, clearly legible, with all problem parts clearly labeled. For non-coding problems with file upload submissions, you must show your work (showing how you arrived at your answer and/or explaining your answer as appropriate). For these problems, an answer without appropriate work will receive little or no credit.
- For coding problems, it is your responsibility to ensure that the code runs without errors and produces the desired output on Relate. The course staff will not change your code or reopen your homework submission to correct mistakes.
- All plots should be clearly titled, labeled, and have legends as appropriate. Failure to do so will result in loss of points.
Quiz Policies:
- Quizzes have one graded attempt. Once you submit a quiz, you cannot change your answers.
- Quizzes are due 10 minutes before the start of class on the day they are due (see schedule below).
- After the deadline you will be able to submit, but you will no longer be able to change your answers.
Piazza Policies:
- Piazza will be used for important class communications. It is your responsibility to monitor Piazza for Instructor notes.
- The course staff will not debug source code via Piazza. If you would like help debugging your code, you will need to come to office hours.
- It's okay to ask questions regarding homework problems, but please do not post your solutions (e.g. large blocks of code, handwritten solutions, etc).
- Before posting a question, search for keywords from your question. This helps minimize duplicate questions, making it easier for other students to search for answers to their questions.
- Please ensure that your name on Piazza is set to your actual name.
Exam Policies:
- All exams must be taken in the CBTF during the designated testing period.
- No exams will be administered outside of the CBTF.
- Because we allow a multiple day period for you to schedule your exam, no makeup or conflict exams will be given except in cases of severe emergencies. We recommend not signing up for last day, particularly if you are likely to get sick.
Class schedule
Grading Information
Grade Breakdown
Weight | |
---|---|
HW | 25% |
Quiz | 5% |
Midterm 1 | 20% |
Midterm 2 | 20% |
Final | 30% |
Grade Scale
Academic Grading System in the US
Course Grade | Total Score as weighted above |
---|---|
A+ | [97,100) |
A | [93,97) |
A- | [90,93) |
B+ | [87,90) |
B | [83,87) |
B- | [80,83) |
C+ | [77,80) |
C | [73,77) |
C- | [70,73) |
D+ | [67,70) |
D | [63,67) |
D- | [55,63) |
F | [ 0,55) |
4 Credit Hour Project Details
All students taking the course for 4 credit hours must complete a project. This project is chosen by the student with the consent of the instructor.
To ensure that a given project is appropriate in scope and content, students must submit a brief description of the proposed project for approval before beginning implementation. The instructor may suggest modifications or alternatives, if appropriate. Projects are evaluated for both correctness and creativity. Projects are graded as satisfactory/unsatisfactory and make no contribution to the final grade, only to the hours of credit received.
Progress proposals, reports and final reports will be submitted on Relate (the course website). Additional details regarding expectations for the progress report and the final project report will be given in the individual submission spots. Due dates for each portion are shown in the schedule above.
Possible types of projects include:
- An education module that illustrates or demonstrates an important concept or algorithm covered in the course.
- A research project on some general numerical method.
- A research project in which a student applies a numerical method to solve a specific problem arising in the student's own research area.
- If none of the previous categories is appealing, then a project consisting of extra homework (assigned by the instructor) is acceptable. In this case, the project proposal should specify a preferred topic (e.g. textbook chapter) on which the homework will be chosen.
If you are unsure about what project to propose or what sort of project is acceptable, please consult with the instructor.
Python Resources
Python is the required programming language for completing the homework problems for this course. Listed below are many good resources available for Python, Numpy/Scipy, and Matplotlib.
General Python Help
- Python tutorial
- Facts and myths about Python names and values
- Dive into Python 3
- Learn Python the hard way
- CSE workshop training material
Numpy/Scipy Help
- Introduction to Python for Science
- Numpy for MATLAB Users
- The SciPy lectures
- The Numpy MedKit by Stefan van der Walt
- Numpy/Scipy documentation
- More in this reddit thread
- An introduction to Numpy and SciPy
- 100 Numpy exercises
Matplotlib Help
- Pyplot Tutorial
- Matplotlib Gallery These example plots with corresponding code can be quite helpful.
- Matplotlib Tutorial by Nicolas P. Rougier